Environmental-based location monitoring

ABSTRACT

Aspects of the present disclosure are directed towards environmental based location monitoring. Environmental based location monitoring can include collecting, a first set of image data that corresponds to a first set of environmental characteristics existing within a bounded area encompassing a hardware element of the computer and determining an environmental difference based on a difference between a first location corresponding to a geographic position of the hardware element relative to the first set of environmental characteristics and a second location corresponding to an approved geographic position of the hardware element. Environmental based location monitoring can include determining that the environmental difference does not satisfy a threshold and executing a reaction sequence in the computer, in response to determining that the environmental difference does not satisfy the threshold.

BACKGROUND

Aspects of the present disclosure relate to information security, moreparticular aspects relate to environmental-based location monitoring incomputer systems. While the present disclosure is not necessarilylimited to such applications, various aspects of the disclosure may beappreciated through a discussion of various examples using this context.

In applications where sensitive algorithms, data, or other programelements are stored, developed, and housed within non-volatile memoryelements, there can be a concern that these sensitive elements could beaccessed and thus have their security compromised. In order to improvedata security, mechanisms could be used to detect intrusion attempts,prohibit unauthorized power-on of hardware, or to otherwise make itdifficult to access data without authorization.

SUMMARY

Aspects of the present disclosure are directed towards a method ofenvironmental based location monitoring. In embodiments, the method caninclude collecting, in response to a condition for a computer, a firstset of image data that corresponds to a first set of environmentalcharacteristics existing within a bounded area encompassing a hardwareelement of the computer. In embodiments, the method can includedetermining, by analyzing the first set of image data, a first locationcorresponding to a geographic position of the hardware element relativeto the first set of environmental characteristics, and determining, byanalyzing a second set of image data, the second set of image datacorresponding to a second set of environmental characteristics, a secondlocation corresponding to an approved geographic position of thehardware element relative to the second set of environmentalcharacteristics. In embodiments, the method can include comparing thefirst location to the second location, and determining, by comparing thefirst location to the second location, an environmental difference usinga location difference between the first location and the secondlocation. In embodiments, the method can include determining that theenvironmental difference does not satisfy a threshold, and executing areaction sequence in the computer, in response to determining that theenvironmental difference does not satisfy the threshold.

Aspects of the present disclosure are directed towards a system forenvironmental-based location monitoring. In embodiments, the system caninclude a processor and a computer readable storage medium havingprogram instructions embodied therewith. In embodiments the programinstructions can be executable by the processor to cause the system tocollect, in response to a condition for the system, a first set of imagedata that corresponds to a first set of environmental characteristicsexisting within a bounded area encompassing a hardware element of thesystem. In embodiments, the program instructions can cause the system todetermine, by analyzing the first set of image data, a first locationcorresponding to a geographic position of the hardware element relativeto the first set of environmental characteristics, and determine, byanalyzing a second set of image data, the second set of image datacorresponding to a second set of environmental characteristics, a secondlocation corresponding to an approved geographic position of thehardware element relative to the second set of environmentalcharacteristics. In embodiments, the program instructions can cause thesystem to compare the first location to the second location, anddetermine, by comparing the first location to the second location, anenvironmental difference using a location difference between the firstlocation and the second location. In embodiments, the programinstructions can cause the system to determine that the environmentaldifference does not satisfy a threshold, and execute a reaction sequencein the computer, in response to determining that the environmentaldifference does not satisfy the threshold.

Aspects of the present disclosure are directed towards a computerprogram product for environmental-based location monitoring, thecomputer program product comprising a computer readable storage mediumhaving program instructions embodied therewith, the program instructionsexecutable by a computer to cause the computer to perform a method. Inembodiments, the method can include collecting, in response to acondition for a computer, a first set of image data that corresponds toa first set of environmental characteristics existing within a boundedarea encompassing a hardware element of the computer. In embodiments themethod can include determining, by analyzing the first set of imagedata, a first location corresponding to a geographic position of thehardware element relative to the first set of environmentalcharacteristics, and determining, by analyzing a second set of imagedata, the second set of image data corresponding to a second set ofenvironmental characteristics, a second location corresponding to anapproved geographic position of the hardware element relative to thesecond set of environmental characteristics. In embodiments, the methodcan include comparing the first location to the second location, anddetermining, by comparing the first location to the second location, anenvironmental difference using a location difference between the firstlocation and the second location. In embodiments, the method can includedetermining that the environmental difference does not satisfy athreshold, and executing a reaction sequence in the computer, inresponse to determining that the environmental difference does notsatisfy the threshold.

The above summary is not intended to describe each illustratedembodiment or every implementation of the present disclosure.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The drawings included in the present application are incorporated into,and form part of, the specification. They illustrate embodiments of thepresent disclosure and, along with the description, serve to explain theprinciples of the disclosure. The drawings are only illustrative ofcertain embodiments and do not limit the disclosure.

FIG. 1 illustrates a flow chart of a method for environmental basedlocation monitoring, according to various embodiments.

FIG. 2 illustrates a flow chart for a method of collecting and analyzingimage data, according to various embodiments.

FIG. 3 illustrates a flow chart for a method for executing a reactionsequence, according to various embodiments.

FIG. 4A and FIG. 4B illustrate diagrams of image data collection,according to various embodiments.

FIG. 5 illustrates a diagram of a computer, according to variousembodiments.

FIG. 6 illustrates a block diagram of a system for environmental basedlocation monitoring, according to various embodiments.

While the invention is amenable to various modifications and alternativeforms, specifics thereof have been shown by way of example in thedrawings and will be described in detail. It should be understood,however, that the intention is not to limit the invention to theparticular embodiments described. On the contrary, the intention is tocover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the invention.

DETAILED DESCRIPTION

Aspects of the present disclosure relate to information security, moreparticular aspects relate to environmental-based location monitoring incomputer systems. While the present disclosure is not necessarilylimited to such applications, various aspects of the disclosure may beappreciated through a discussion of various examples using this context.

In applications where sensitive algorithms, data, or other programelements are stored, developed, and housed within non-volatile memoryelements, there can be a concern that these sensitive elements could beaccessed and thus have their security compromised. In order to improvedata security, mechanisms can be used to detect intrusion attempts,prohibit unauthorized power-on of hardware, or to otherwise make itdifficult to access data without authorization can be used.

To assist in data security, sensitive data can be stored in hardwarethat is housed in a secure location or facility. However, in someinstances hardware could be moved out of the secure location, such aswhile being transported, or receiving maintenance, which could leavesensitive data vulnerable to unauthorized access.

Aspects of the present disclosure are directed towards environmentalbased computer location monitoring. Embodiments of the presentdisclosure collect image data and environmental data, compare collectedimage data and environmental data to what may be expected, and respondin various ways if the image data and environmental data do not match.

A method of environmental based location monitoring can includecollecting in response to a condition for a computer, a first set ofimage data and a first set of environmental data that corresponds to afirst set of environmental characteristics existing within a boundedarea encompassing one or more hardware elements of the computer, such asa storage system.

In some embodiments, the hardware elements, of the computer may betransported or assembled separately from the computer. For example, thehardware elements may be a hard disk drive, computer storage, or aprocessor. In embodiments, the hardware elements may be connectivelycoupled to the computer. For example, the hardware element may be aprocessor and the processor may be assembled in a blade server. In someembodiments, in order to secure such isolated hardware elements, thesensors may be coupled to the hardware elements. For example, the sensormay be attached to the processor. In embodiments, the bounded area maybe external to the hardware elements. For example, the sensor maycollect image data and environmental data external to the hardwareelements.

In embodiments, the condition may be various circumstances thatinfluence the actions of a computer. For example, the condition could bea command to power-on a portion of the computer, to access data from thecomputer, to execute an application, or other type of computer-basedcommand. In certain embodiments, the condition can be an expiration of atime-based interval. For example, the expiration of the time-basedinterval may trigger the condition to occur every x number of minutes,where x can be any positive numerical value, e.g. every ten minutes,every hour, or every five hours.

The image data may be an electronic representation of one or moreenvironmental characteristics. For example, the image data may berepresented in pixels as display. For example, in embodiments, the imagedata could be various types of data extracted from a digital image (e.g.average pixel intensity data, digital numeric color data). In someembodiments, the digital image can be a numerical representation of atwo dimensional image.

In embodiments, the environmental data could be an electronicrepresentation of one or more environmental characteristics. Forexample, in the form of numeric values. For example the environmentaldata may be various forms of data extracted from a sensor measuring oneor more physical stimulus. In embodiments, the physical stimulus may beheat, light, sound, pressure, magnetism, or a particular motion. Forexample, the light may be visible, ultraviolet, infrared, etc. Forexample, the environmental data may include numerical values fortemperature, pressure, or humidity.

In some embodiments, the environmental characteristics could be definedas a set of distinctive physical conditions or qualities of a particularplace. In embodiments, the environmental characteristics for the imagedata may include one or more constituents of matter (e.g. structuralobjects, furniture, people, etc.). In embodiments, the distinctivephysical conditions of the environmental characteristics may include thetemperature, altitude, or humidity of the particular place.

In embodiments, the sensor may be an instrument that measures a physicalstimuli and converts them into signals or data. For example, the sensormay be a digital camera, a thermometer, an ultrasonic instrument, or avoltmeter. For example, the digital camera may measure visible light,the thermometer may measure temperature, or the ultrasonic instrumentmay measure pressure. In embodiments, the digital camera may collectimage data, and the thermometer, ultrasonic instrument, and voltmetermay collect environmental data.

For example, the bounded area may be defined by the range of a sensorcollecting data. The range may be external to the computer chassis. Forexample, in embodiments, the range of detecting visible light fromobjects may be less than the range of detecting infrared light fromobjects. For example, infrared light radiating from people behind solidobjects. For example the range may be set to a maximum range defined bythe capabilities of the sensors. In additional examples, the range maybe set by a user, e.g. the user may set the range to 10 feet.

In embodiments, the first set of environmental data may be environmentaldata that corresponds to environmental characteristics existing withinthe bounded area. For example, the first set of environmental data maybe collected in the bounded area after the condition occurs. Theenvironmental data may be an electronic representation of the physicalstimuli detected by the sensors. For example, in the form of numericalvalues. For example, for numerical values for temperature, pressure, andhumidity.

In embodiments, the first set of image data may be image data thatcorresponds to environmental characteristics existing within the boundedarea. For example, when the computer is turned on, the digital cameramay detect the reflected light in a room and convert electrical signalsinto data. For example, reflected light from walls, chairs, or pictures.For example, a picture may be a two dimensional barcode. In embodiments,the first set of image data may include information, such as, whereobjects are located in the detectable range of the sensors relative toanother object.

Furthermore, in embodiments, the environmental characteristics may beorganized in multiple sets based on the type of environmentalcharacteristics. For example, a first set of environmentalcharacteristics, could include temperature data. A second set ofenvironmental characteristics could include color data. A third set ofenvironmental characteristics could include humidity data. Inembodiments, the method can include comparing similar environmentalcharacteristics. For example, temperature data of the first set ofenvironmental data could be compared to temperature data from anapproved operating environment. In embodiment, the approved operatingenvironment may be where the computer is intended to operate in, e.g. asecured facility. In other embodiments, the approved operatingenvironment may be an area established or decided in advance to shippingthe computer.

In embodiments, the approved operating environment may comprisepredetermined environmental characteristics that the system looks for.For example, if the computer is meant to be housed in a climatecontrolled environment of seventy degrees Fahrenheit, the predeterminedenvironment characteristic may include a temperature of seventy degrees.

In embodiments, a second set of image data and a second set ofenvironmental data includes data that corresponds to information aboutthe predetermined environmental characteristics. In embodiments, thesecond set of image data may be an electronic representation of thepredetermined environmental characteristics from the approved operatingenvironment. In embodiments, the second set of image data can include anapproved set of image data for an operating environment for thecomputer. For example, if the computer is meant to be housed in anenvironment that includes a two dimensional barcode, the second set ofimage data may include information about the location of the twodimensional barcode and/or characteristics of the two dimensionalbarcode.

In embodiments, the second set of image data may be an electronicrepresentation of the predetermined environmental characteristics fromthe approved operating environment. In embodiments, the second set ofenvironmental data may be an electronic representation of thepredetermined environmental characteristics from the approved operatingenvironment. In embodiments, the second set of environmental data caninclude an approved set of environmental data for an operatingenvironment for the computer. For example, if the computer is meant tobe housed in an environment that can include climate controlledenvironment of seventy degrees, the second set of environmental data mayinclude numerical data representing the temperature set at seventydegrees.

In some embodiments, the approved operating environment can include anapproved geographic position. In embodiments the approved geographicposition can be represented by a position, such as represented inCartesian coordinates as described herein, of a hardware elementrelative to various environmental characteristics in the bounded area.

In certain embodiments, the second set of image data and the second setof environmental data may be stored in non-volatile memory in thecomputer. The non-volatile memory may be operatively coupled to thecomputer. The non-volatile memory that is storing the second set ofimage data and the second set of environmental data may not beaccessible after the condition occurs. For example, once the computer isturned on, the second set of image data or the second set ofenvironmental data may not be accessible. The non-volatile memory maynot be accessible after time zero, so unauthorized users attempting toextract the second set of image data or the second set of environmentaldata may fail in retrieving information from the computer or hardwareelements.

In some embodiments, analyzing the image data may occur after collectingthe image data. In embodiments, analyzing may include examining theconstitution or structure of the image data in the form of utilizingtechniques commonly employed in ‘machine vision’. In some embodiments,machine vision is the technology and methods of providing imaging-basedautomatic inspection and analysis for such applications as automaticinspection, process control, and robot guidance in industry, such as,e.g. ‘computational projective geometry’ and ‘camera calibration’discussed herein and as discussed in as described in “BYERS et al.,“Where the Camera Was”, Mathematics Magazine, Vol. 77, No. 4, pp:251-259, October 2004.http://www.math.smith.edu/˜jhenle/Files/camera.pdf.”

In embodiments, the techniques may include calculating a first volume ofthe bounded area. In embodiments, the first volume may be external tothe computer up to the range of the sensor collecting visible light. Forexample, the range may stop at a wall that bounds the computer. Forexample, the first volume may be of a room that bounds the computer.

In embodiments, the techniques may also include determining thegeographic location of the computer relative to the environmentalcharacteristics in the bounded area. For example, taking a digital imageof the environmental characteristics contained in the range of thesensors, then inferring the geographic location by extractinginformation from the image data.

In certain embodiments, the techniques may include determining therelative position of a first object in the approved operatingenvironment. For example, the relative position of the first object maybe taken with respect to a second object. For example, the first objectmay be a picture and the second object may be a chair. For example, thedistance between the picture and the chair may be calculated from therelative position.

The method can include comparing the first set of image data to thesecond set of image data. The method can include determining anenvironmental difference between the first set of image data and thesecond set of image data. In embodiments, an environmental differencemay be a representation of the quantitative contrast between theenvironmental characteristics contained in the bounded area and thepredetermined environmental characteristics for the approved operatingenvironment. In embodiments, the environmental difference may berepresented using various units. For example the environmentaldifference may have units of Fahrenheit for temperature or meters forvolume. The method can include determining that the environmentaldifference does not satisfy a threshold.

In embodiments, the threshold may be a numerical representationindicating the limit of an acceptable difference between theenvironmental characteristics and the approved environmentalcharacteristics. In embodiments, achieving the threshold may beaccomplished when the magnitude of the environmental difference is lessthan the magnitude of the threshold. In embodiments, the threshold forthe geographic location can have units that are relevant to theenvironmental difference units that are based off the geographiclocation, e.g. units of meters.

For instance, in embodiments, consider a threshold for the geographiclocation of the computer to be one foot. Continuing the instance, inembodiments, if the geographic location of the computer in the boundedarea differs by a magnitude of more than one foot from the geographiclocation of the computer in the approved operating environment, thethreshold may not be satisfied. In certain embodiments, not achievingthe threshold may cause a reaction to occur.

In certain embodiments, environmental characteristics that can besusceptible to errors in the environment may be given a largerthreshold, accordingly. For instance, body heat or friction near thecomputer may disturb with collecting image data or environmental data.In embodiments, each environmental difference may have their ownrespective threshold, according to the susceptibility of theenvironmental characteristic to nearby physical conditions. Forinstance, because the temperature and humidity may be more likely to beaffected by body heat or friction than the volume, a system couldtolerate a higher environmental difference with regard to temperatureand humidity than with regard to volume. For example, the threshold fortemperature or humidity may be higher than the threshold for volume.

The method can include determining a score that is based on theenvironmental difference. In embodiments, the score can be arepresentation of the difference between the bounded area and theapproved operating environment. In some embodiments, scoring may includeplacing a numerical value on the difference between the environmentaldifference and the respective threshold. In embodiments, the score maydistinguish an environmental difference that satisfies the thresholdfrom an environmental difference that does not satisfy the threshold.

In certain embodiments, scoring may include weighing the environmentaldifference. In embodiments, weighing may be a numerical representationof the relative difficulty of reproducing an environmentalcharacteristic in the form of a positive numerical value. For example,image data may be weighted three times as much as temperature data,since reproducing a two dimensional barcode may be difficult, butreproducing a temperature of seventy degrees may happen by coincidence.

For example, a room that the computer is operating in could have thefollowing characteristics: a temperature of seventy degrees, a set ofcoordinates representing the geographic location of the computer withinthe room, and a two dimensional barcode in range of the sensor.Continuing the example, there may be a plethora of locations that areseventy degrees, but environmental characteristics comprising a matchingset of coordinates or a matching two dimensional barcode may be muchmore difficult to duplicate. For this reason, the weight may be adjustedaccording to the environmental characteristic.

The method can include executing a reaction sequence in the computer ifthe environmental difference does not satisfy the threshold. In someembodiments, the reaction sequence can be a set of events occurring inthe computer in response to one or more thresholds not being satisfied.For example, if the temperature in the approved operating environment is50 degrees Fahrenheit and the temperature in the bounded area is seventydegrees Fahrenheit, and the threshold is set at 10 degrees Fahrenheit.

In embodiments, the reaction sequence initiate one or more alarms inresponse to one or more thresholds not being satisfied. In embodiments,the one or more thresholds may overwrite data stored in the computer,physically damage the computer, shut-down the computer, or initiate oneor more alarms. Initiating the reaction sequence may be with theintention to restrict the user from accessing the computer or‘sensitive’ information stored in the computer.

Turning now to FIG. 1, a flow chart for a method 100 of environmentalbased location monitoring can be seen, according to various embodiments.In embodiments, the method can include, in decision block 110,determining whether a condition occurs. In embodiments, the computercould be a programmable machine that is capable of executing a set ofoperations. In some embodiments, the condition can be a command for thecomputer to perform a set of operations. If a condition occurs, indecision block 110, the method may proceed to operation 120. If acondition does not occur, the method 100 may repeat until a conditionOccurs.

In certain embodiments, the method can include, in operation 120,collecting the first set of image data in the bounded area. Inembodiments, the operation 120 can include analyzing the first set ofimage data after collecting the first set of image data, as discussedherein. For example, determining the first volume, average imageintensity, or the geographic location of the computer.

In embodiments, the operation 130 can also include collecting the firstset of environmental data in the bounded area. For example, temperature,humidity, and pressure. In embodiments, after collecting and analyzingthe image data and the environmental data, the operation 120 can proceedto an operation 130.

In embodiments, the method can include, in operation 130, comparing thefirst set of image data to the second set of image data. For example,comparing the first volume to the second volume. For example, comparingthe first geographic location to the second geographic location. Inembodiments, after comparing the image data, operation 130 may includedetermining an environmental difference for the image data as discussedherein. For example, the environmental difference with respect to thevolume may be the first volume subtracted from the second volume, wherethe volume may be represented in units of cubic meters.

In embodiments, the operation 130 also can include comparing the firstset of environmental data to the second set of environmental data. Forexample the temperature from the bounded area and the temperature in theapproved operating environment. For example, the humidity in the boundedarea and the temperature in the approved operating environment. Inembodiments, after comparing the environmental data, operation 130 mayinclude determining an environmental difference. For example,determining the environmental difference for the temperature, humidity,or the pressure.

In embodiments, the operation 130 can include determining if theenvironmental differences satisfy the threshold. In embodiments, thethresholds vary, depending on the environmental characteristic, asdiscussed herein. For example, the environmental difference fortemperature may have a higher threshold than the environmentaldifference for volume. In embodiments, after comparing, determining theenvironmental difference, and if the threshold are satisfied, theoperation 130 may proceed to an operation 140.

In embodiments, the method can include, in operation 140 scoring theenvironmental differences. For example, the environmental difference forthe first volume and second volume may be scored. For example, scoringmay occur for environmental differences that do not satisfy thethreshold. In embodiments, once scoring of the environmental differencesis complete, the operation 140 may proceed to an operation 150.

In embodiments, the method can include, in operation 150, executing thereaction sequence. In embodiments, executing the reaction sequence, asdiscussed herein, may be in response to the one or more thresholds notbeing satisfied. For example, executing the reaction sequence may be inresponse to the environmental difference for temperature not achievingthe threshold. For example, executing the reaction sequence may be inresponse to the environmental difference for temperature and theenvironmental difference for volume not achieving their respectivethresholds.

Turning now to FIG. 2, a flow chart for a method 200 of processing imagedata can be seen, according to various embodiments. In certainembodiments, the method can include, in operation 210, collecting afirst set of image data from a bounded area. For example, the first setof image data may include visible light, ultraviolet light, or infraredlight. For example, the digital camera may collect the first set ofimage data. In embodiments, the operation 200 can include aborting themethod 200, in the case that the camera is not functioning correctly. Inembodiments, operation 210 may also include collecting the first set ofenvironmental data in the bounded area.

In embodiments, the method 200 can include, in operation 210, extractingthe environmental characteristics from the first set of image data andthe first set of environmental characteristics. For example, organizingthe collected data into numerical values describing the environmentalcharacteristics. For example, this may include the temperature, firstvolume, or geographic location.

In embodiments, operation 210 also can include implementing additionaltechniques to further analyze the digital image, in the case if theimage data is unreadable. For example, in the case where either thestored data is unreadable, or the ability to successfully collect orinterpret the image data is unsuccessful. For example, if the computeris not capable of processing or interpreting the image data. Forexample, the image data may be unreadable if the computer is not capableof producing results from the collected data.

In embodiments, additional techniques can include extracting a firstaverage image intensity of the digital image corresponding to the firstset of environmental characteristics rather than extracting a specificpixel content. In embodiments, the additional techniques includecomparing the first average image intensity to a second average imageintensity corresponding to the second set of environmentalcharacteristics.

In embodiments, the additional technique may include extracting a firstsmaller portion corresponding to the first set of image data. Inembodiments, comparing the first smaller portion to a second portioncorresponding to the second set of image data may determine the picturequality. In embodiments, operation 210 may proceed to an operation 215after collecting and analyzing the data.

In certain embodiments, the method 200 can include, in decision block215, recollecting the image data, if the results of the additionaltechniques are inconclusive. In embodiments, inconclusive meaning thatthe techniques may not have led to a firm conclusion. In embodiments, ifthe image data is readable, the method 200 may proceed to an operation220; otherwise, the method 200 could return to operation 210.

In certain embodiments, the method 200 can include, in operation 220,analyzing the first set of image data. In embodiments, analyzing thefirst set of image data includes using various techniques commonly usedin ‘machine vision’, such as, e.g. ‘computational projective geometry’and ‘camera calibration’ as described herein.

In embodiments ‘computational projective geometry’ can include detectingthe positions of one or more objects to environmental characteristicsexisting within the bounded area. For example, the relative positionsmay be where one or more first objects are located on a wall withrespect to one or more second objects, e.g. the distance between twopictures hanging on a wall.

In some embodiments, ‘computational projective geometry’ can includedetecting the shape of one or more objects within the first set of imagedata. For example, the shape of the one or more objects may be a threedimensional or a two dimensional polygon, e.g. a square or a cube,rectangle, hexagon, octagon, etc. . . . . In some embodiments,‘computational projective geometry’ includes determining the volume of aroom that the computer is located in. In embodiments, the volume may berepresented in cubic meters.

In certain embodiments, ‘camera calibration’ can include determining thegeographic location of the computer relative to the environmentalcharacteristics. In certain embodiments, by way of ‘camera calibration’,the information obtained from the ‘computational projective geometry’can be used to deduce the geographic location of the computer within thebounded area. The geographic location may be described in Cartesiancoordinates, e.g. (x, y, z) to an arbitrary reference point in the roomas the origin as discussed herein. In embodiments, after analyzing thefirst set of image data, the operation 220 can proceed to an operation230.

In embodiments, the method 200 can include, in operation 230, comparinga first location to a second location. In some embodiments, the firstlocation may be a representation of the geographic location of thecomputer relative to the first set of environmental characteristics. Incertain embodiments, the second location may be a representation of thegeographic location of the computer relative to the second set ofenvironmental characteristics. The second location may correspond topredetermined environmental characteristics in the approved operatingenvironment. For example, the location of the computer in the approvedoperating environment. In embodiments, the geographic location may berepresented as a set of coordinates.

In other embodiments, operation 230 can include comparing a first volumeto a second volume. In some embodiments, the first volume may be anumerical representation of the volume of the room via the first set ofenvironmental characteristics. In certain embodiments, the second volumemay be a numerical representation of the volume of the room via thesecond set of environmental characteristics. In embodiments, the secondvolume may correspond to predetermined environmental characteristics inthe approved operating environment. For example, the volume of theapproved operating environment.

In embodiments, operation 230 can include comparing the first set ofenvironmental data to the second set of environmental data from theapproved operating environment. For example, temperature, humidity, andpressure from the bounded area may be compared from temperature,humidity, and pressure from the approved operating environment. Inembodiments, after comparing the first set of image data to the secondset of image data, and the first set of environmental data to the secondset of environmental data, operation 230 may also include determiningthe difference from the first set of environmental characteristics andthe third set of environmental characteristics.

In some embodiments, the method 200 can include, in operation 230,determining the environmental difference. In embodiments, theenvironmental difference may be a numerical representation of thedifference between the first location and the second location in theform of a magnitude. In other embodiments, the operation 230 includesdetermining the environmental difference between the first volume andthe second volume.

In embodiments, operation 230 can include determining the differencefrom the first set of environmental data and the second set ofenvironmental data. For example, determining the difference between thetemperature in the bounded area and the temperature in the approvedoperating environment. For example, determining the difference from theenvironmental characteristics and the predetermined environmentalcharacteristics. The difference may be termed the environmentaldifference.

In embodiments, the operation 230 can include determining a score (S),wherein the score is a numerical representation of the differencebetween the environmental differences and the respective thresholds. Forexample, in some embodiments, the score may be the aggregate of allenvironmental differences. For example, the score may be representedusing various units. For example, the score may be weighted according tothe environmental characteristic. For example, the value of the scoremay be a comprehensive evaluation of the difference between the boundedarea and the approved operating environment.

In certain embodiments, the method 200 can include, in operation 240determining the score of the acceptable environmental differencesbetween the first set of environmental characteristics and the third setof environmental characteristics within their respective thresholds. Forexample, the environmental difference based off of the first locationand the second location may satisfy the threshold, if the magnitude ofthe environmental difference is less than or equal to the magnitude ofthe location difference. For example, the environmental difference basedoff of the first volume and the second volume may satisfy the threshold,if the magnitude of the environmental difference is less than or equalto the magnitude of the volume difference. In embodiments, afterdetermining the environmental differences and scores, the operation 230may proceed to an operation 240.

In embodiments, the method 200 can include, in operation 240, executingthe reaction sequence. In embodiments, the reaction sequence could be asequence of events occurring in response to one or more thresholds notbeing satisfied. In embodiments, the reaction sequence may beillustrated in greater detail in FIG. 3.

Turning now to FIG. 3, a flow chart of a method 300 for the reactionsequence can be seen, according to various embodiments. The reactionsequence illustrated in FIG. 3 may be an embodiment of operation 150 oroperation 240. In embodiments, the method 300 may include, checking ateach decision block if the score is within a threshold range of thecurrent decision block. For example, in embodiments, each decision blockmay have its own threshold range. In embodiments, predeterminednumerical values in increasing order labeled T₀, T₁, T₂, T₃, and T₄,e.g. T₀<T₁<T₂<T₃<T₄ may constitute boundaries that the score can fallwithin. For example, in embodiments, the score may begin at the decisionblock with a threshold range of T₀≦S<T₁. If the environmental score isnot within the threshold range T₀≦S<T₁, the score may proceed to thedecision block with the threshold range including T₁≦S<T₂, and continueuntil the score reaches a decision block with a threshold range that thescore is within.

In embodiments, executing a response in the reaction sequence depends onthe value of the score. For example, a score with a value in betweenT₀≦S<T₁ may lead to a different response than a score with a value inbetween T₁≦S<T₂. For example, a value in between T₁≦S<T₂ may grant theuser partial access to the computer, and a value in between T₁≦S<T₂ mayoverwrite data stored in the computer. In embodiments, employing thereaction sequence may occur in order to restrict unauthorized end usersfrom attempting to access information stored in the computer.

In certain embodiments, the operation 310 can include granting the enduser partial access to the computer. In embodiments, operation 310occurs if the score has a value of T₀≦S<T₁. In embodiments, granting theend user access may not necessarily mean granting access to allinformation stored in the computer. Although access may be granted tothe computer, the condition may reoccur in response to the expiration ofa time-based interval. In embodiments, the time-based interval may causethe method 100 to reoccur. In certain embodiments, the score may proceedto an operation 320, if the score has a value of T₁≦S.

In some embodiments, the method 300 can include, in operation 320overwriting a set of data stored in the computer. In embodiments,overwriting the set of data may be the process of writing a binary setof data stored in the memory, the memory that is operatively connectedto the computer. In embodiments, overwriting may include writing overold data stored in the memory. For example, in embodiments, the set ofdata may be deleted by overwriting the set of data in binary with allzeroes followed by all ones so that the set of data is unreadable.

In embodiments, overwriting the set of data may include rewriting theset of data. For example, in certain embodiments, overwriting theinformation could include formatting the set of data with randominformation or an explanation as to why executing the reaction sequencemay have been necessary. In embodiments, the score may proceed to anoperation 330, if the score has a value of T₂≦S.

In embodiments, the method 300 can include, in operation 330, shuttingdown the computer. In some embodiments, shutting-down the computer maybe done by restricting power to the computer. In some embodiments,shutting-down the computer may transpire for a varying amount of time.For example, in embodiments, shutting-down the computer may betemporary, permanently, or until determining a solution as to whyexecuting the reaction sequence may have been necessary. In someembodiments, the score may proceed to an operation 340, if the score hasa value of T₃≦S.

In certain embodiments, the method 300 may include, in operation 340,initiating one or more alarms. In embodiments, the one or more alarmsmay include an electromagnetic alarm, an auditory alarm, or a smokealarm. For example, in embodiments, the electromagnetic alarm may sendout electromagnetic waves in the infrared spectrum or the ultravioletspectrum and the auditory alarm can be a high-pitched frequency. Incertain embodiments, the score can proceed to an operation 350, if thescore has a value of T₄≦S.

In embodiments, the method 300 can include, in operation 350, initiatinga self-destruct mechanism. In some embodiments, initiating theself-destruct mechanism may be in the form of causing physical damage tohardware that restricts access to a portion of data. For example,causing damage may affect the electrical circuitry of the computerbeyond repair.

Turning now to FIG. 4A, an aerial view 400 of a computer bounded by fourwalls and a floor can be seen, according to various embodiments. Inembodiments, FIG. 4A may be an illustrative representation of thebounded area or approved operating environment where collecting theimage data may occur. In embodiments, the aerial view 400, includes fourwalls and the floor bounding a computer hardware rack 410, a camera 416,and a first object 434 and a second object 436 located on a wall 430.

In embodiments, the aerial view 400, can include the camera 416collecting the first set of image data within the camera view point 420.In embodiments, the camera view point 420 is facing away from thecomputer hardware rack and facing outward toward a wall 430. The wall430 as seen by the camera view point 420 can also be seen, according toembodiments. In certain embodiments, a camera 416 can be physicallyconnected to the computer, and the computer may be positioned in acomputer hardware rack 410. In embodiments, the computer hardware rackis discussed in greater detail in the discussion of FIG. 5.

In embodiments, the camera may be a digital camera that collects andencodes visible light. For example, the digital camera may produce anelectronic representation of the bounded area in the form of a digitalimage. In embodiments, the digital image may contain information, suchas, e.g. the results of machine vision. In embodiments, the camera maydetect visible light within the camera view point that enters the cameralens. The camera view point may describe a physical area where light maybe collected by the camera. For example, light reflecting off a wall maybe within the camera view point if the light is directed to the cameralens.

Turning now to FIG. 4B, an example view of the camera view point 420 canbe seen, according to various embodiments. The environmentalcharacteristics depicted in the camera view point 420 of the wall 430may include a doorway with an ajar door 432 and a first object 434 and asecond object 436. In embodiments, the first object 434 and the secondobject 436 may include an image containing a complex design, e.g. anabstract picture, a two dimensional barcode, or a simple white picture.In embodiments, a frame may be bordering the image. In embodiments, thebordering may be, e.g., in the shape of an octagon, a polynomial, orellipse. In embodiments, the door 432 may be ajar or closed. Inembodiments, analyzing the image data discussed in reference to FIG. 2may infer as to whether the door 432 is opened or closed.

In certain embodiments, the ‘machine vision’ techniques discussed hereinmay include, drawing a first line from the top right corner of the firstobject 434 to the top left corner of the second object 436, and tracinga second line from the top left corner of the first object 434 to thetop right corner of the door 432. In embodiments, ‘machine vision’techniques also include, determining if the first line and the secondline are parallel. In certain embodiments, if the first line and thesecond line are not parallel, the environmental difference may notsatisfy the threshold.

Turning now to FIG. 5, an enlarged view 500 depicting a computerhardware rack 510 can be seen, according to embodiments. In certainembodiments, the computer hardware rack 510 may be a blade serverhousing multiple hardware elements of the computer. In embodiments, thecomputer hardware rack 510 may include an N amount of blade slots, whereN may be any positive numeric value. In embodiments, the blade slots ormodules may contain similar content grouping together multiple hardwareelements of a computer, e.g. processors, within a rack style systempackaging solution. In embodiments, the computer camera 416 may beconnected to the computer located in one of the blades in the hardwarerack 510. In embodiments, the hardware element of the computer may belocated in a computer blade, e.g. blade one 512, blade two 514, or bladeN 516. In embodiments, the camera view point 420 may be looking out intothe environment where the computer hardware rack may reside. In someembodiments, the location of the computer may be inferred from the imagedata, e.g., the difference in the location of the computer between ablade one 512 and a blade two 514 can be detected, and the differencemay not satisfy the threshold.

FIG. 6 depicts a high-level block diagram of an exemplary system forimplementing an embodiment of the invention. The mechanisms andapparatus of embodiments of the present invention apply equally to anyappropriate computing system. The major components of the computersystem 600 comprise one or more processors 606, a main memory 604, aterminal interface 610, a storage interface 612, an I/O (Input/Output)device interface 614, a user I/O device 624, and a storage device 626,all of which are communicatively coupled, directly or indirectly, forinter-component communication via a memory bus 618, an I/O bus 620, andan I/O bus interface unit 622.

The computer system 600 may contain one or more general-purposeprogrammable central processing units (CPUs) 606A, 606B, 606C, and 606D,herein generically referred to as the processor 606. In an embodiment,the computer system 600 contains multiple processors typical of arelatively large system; however, in another embodiment the computersystem 600 may alternatively be a single CPU system. Each processor 606executes instructions stored in the main memory 604 and may comprise oneor more levels of on-board cache 630.

In an embodiment, the main memory 604 may comprise a random-accesssemiconductor memory, storage device, or storage medium (either volatileor non-volatile) for storing or encoding data and programs 634. Inanother embodiment, the main memory 604 represents the entire virtualmemory of the computer system 600, and may also include the virtualmemory of other computer systems coupled to the computer system 600 orconnected via a network. The main memory 604 is conceptually a singlemonolithic entity, but in other embodiments the main memory 604 is amore complex arrangement, such as a hierarchy of caches 630 and othermemory devices. For example, memory may exist in multiple levels ofcaches, and these caches may be further divided by function, so that onecache holds instructions while another holds non-instruction data, whichis used by the processor or processors. Memory may be furtherdistributed and associated with different CPUs or sets of CPUs, as isknown in any of various so-called non-uniform memory access (NUMA)computer architectures.

The main memory 604 may store all or a portion of the following: RAM632, cache 630, storage system 636, one or more programs/utilities 634,and at least one set of program modules 638. Although the RAM 632, cache630, storage system 636, one or more programs/utilities 634, and atleast one set of program modules 638 are illustrated as being containedwithin the memory 604 in the computer system 600, in other embodimentssome or all of them may be on different computer systems and may beaccessed remotely, e.g., via a network. The computer system 600 may usevirtual addressing mechanisms that allow the programs of the computersystem 600 to behave as if they only have access to a large, singlestorage entity instead of access to multiple, smaller storage entities.Thus, while the RAM 632, cache 630, storage system 636, one or moreprograms/utilities 638, and at least one set of program modules 634 areillustrated as being contained within the main memory 604, thesecomponents are not necessarily all completely contained in the samestorage device at the same time. Further, although the RAM 632, cache630, storage system 636, one or more programs/utilities 638, and atleast one set of program modules 634 are illustrated as being separateentities, in other embodiments some of them, portions of some of them,or all of them may be packaged together.

In an embodiment, the memory 604 comprise instructions or statementsthat execute on the processor 606 or instructions or statements that areinterpreted by instructions or statements that execute on the processor606, to carry out the functions as further described with reference tothe figures as discussed herein. In another embodiment, the main memory804 are implemented in hardware via semiconductor devices, chips,logical gates, circuits, circuit cards, and/or other physical hardwaredevices in lieu of, or in addition to, a processor-based system. In anembodiment, the main memory 604 comprise data in addition toinstructions or statements.

The memory bus 618 provides a data communication path for transferringdata among the processor 606, the main memory 604, and the I/O businterface 622. The I/O bus interface 622 is further coupled to the I/Obus 620 for transferring data to and from the various I/O units. The I/Obus interface unit 622 communicates with multiple I/O interface units610, 612, 614, 624, and 626 which are also known as I/O processors(IOPs) or I/O adapters (IOAs), through the I/O bus 620.

The I/O interface units support communication with a variety of storageand I/O devices. For example, the terminal interface unit 610 supportsthe attachment of one or more user I/O devices 624, which may compriseuser output devices (such as a video display device, speaker, and/ortelevision set) and user input devices (such as a keyboard, mouse,keypad, touchpad, trackball, buttons, light pen, or other pointingdevice). A user may manipulate the user input devices using a userinterface, in order to provide input data and commands to the user I/Odevice 624 and the computer system 600, and may receive output data viathe user output devices. For example, a user interface may be presentedvia the user I/O device 624, such as displayed on a display device,played via a speaker, or printed via a printer.

The storage interface 612 supports the attachment of one or more diskdrives or direct access storage devices 626 (which are typicallyrotating magnetic disk drive storage devices, although they couldalternatively be other storage devices, including arrays of disk drivesconfigured to appear as a single large storage device to a hostcomputer). In another embodiment, the storage device 626 may beimplemented via any type of secondary storage device. The contents ofthe main memory 604, or any portion thereof, may be stored to andretrieved from the storage device 626, as needed. The I/O deviceinterface 614 provides an interface to any of various other input/outputdevices or devices of other types, such as printers or fax machines. Thenetwork interface provides one or more communications paths from thecomputer system 600 to other digital devices and computer systems; suchpaths may comprise, e.g., one or more networks.

Although the memory bus 618 is shown in FIG. 6 as a relatively simple,single bus structure providing a direct communication path among theprocessors 606, the main memory 604, and the I/O bus interface 622, infact the memory bus 618 may comprise multiple different buses orcommunication paths, which may be arranged in any of various forms, suchas point-to-point links in hierarchical, star or web configurations,multiple hierarchical buses, parallel and redundant paths, or any otherappropriate type of configuration. Furthermore, while the I/O businterface 622 and the I/O bus 620 are shown as single respective units,the computer system 600 may, in fact, contain multiple I/O bus interfaceunits 622 and/or multiple I/O buses 620. While multiple I/O interfaceunits are shown, which separate the I/O bus 620 from variouscommunications paths running to the various I/O devices, in otherembodiments some or all of the I/O devices are connected directly to oneor more system I/O buses.

In various embodiments, the computer system 600 is a multi-usermainframe computer system, a single-user system, or a server computer orsimilar device that has little or no direct user interface, but receivesrequests from other computer systems (clients). In other embodiments,the computer system 600 is implemented as a desktop computer, portablecomputer, laptop or notebook computer, tablet computer, pocket computer,telephone, smart phone, or any other appropriate type of electronicdevice.

FIG. 6 is intended to depict the representative major components of thecomputer system 600. But, individual components may have greatercomplexity than represented in FIG. 6, components other than or inaddition to those shown in FIG. 6 may be present, and the number, type,and configuration of such components may vary. Several particularexamples of such additional complexity or additional variations aredisclosed herein; these are by way of example only and are notnecessarily the only such variations. The various program componentsillustrated in FIG. 6 and implementing various embodiments of theinvention may be implemented in a number of manners, including usingvarious computer applications, routines, components, programs, objects,modules, data structures, etc., and are referred to herein as“software,” “computer programs,” or simply “programs.”

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It can be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present disclosurehave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

1. A computer-implemented method of environmental based locationmonitoring, the method comprising: collecting, by a sensorelectronically connected to a computer and in response to a conditionfor the computer, a first set of image data that corresponds to a firstset of environmental characteristics existing within a bounded areaencompassing a hardware element of the computer, the condition includesreceiving a computer-based command indicating a set of operations forthe computer; determining, by a processor analyzing the first set ofimage data, by utilizing image recognition techniques, a first locationcorresponding to a geographic position of the hardware element relativeto the first set of environmental characteristics, and determining, bythe processor analyzing a second set of image data stored in a databaseof the computer, by utilizing image recognition techniques, the secondset of image data corresponding to a second set of environmentalcharacteristics, a second location corresponding to an approvedgeographic position of the hardware element relative to the second setof environmental characteristics; comparing, by the processor, the firstlocation to the second location, and determining, by the processorcomparing the first location to the second location, an environmentaldifference using a location difference between the first location andthe second location; determining, by the processor, that theenvironmental difference does not satisfy a threshold; and executing, bythe processor, a reaction sequence in the computer, in response todetermining that the environmental difference does not satisfy thethreshold, wherein the reaction sequence includes overwriting a set ofdata stored in the computer.
 2. The method of claim 1, wherein thebounded area is external to the hardware element of the computer andwithin a range of a sensor collecting the first set of image data andthe first set of environmental data.
 3. The method of claim 1, furthercomprising: comparing the first set of image data to the second set ofimage data, and determining, by comparing the first and second set ofimage data, the environmental difference further based on differencesbetween the first set of environmental characteristics and the secondset of environmental characteristics.
 4. The method of claim 1, furthercomprising: collecting, in response to the condition, a first set ofenvironmental data that corresponds to a third set of environmentalcharacteristics existing within the bounded area; and comparing thefirst set of environmental data to a second set of environmental data,the second set of environmental data corresponding to a fourth set ofenvironmental characteristics, and further determining the environmentaldifference by comparing the first set of environmental data and secondset of environmental data.
 5. The method of claim 4, wherein the thirdset of environmental characteristics includes temperature data, altitudedata, and humidity data.
 6. The method of claim 1, further comprising:determining, by analyzing the first set of image data, a first volumecorresponding to a volumetric dimension of the bounded area of the firstset of environmental characteristics; determining, by analyzing thesecond set of image data, a second volume of the bounded area of thesecond set of environmental characteristics; and wherein comparing thefirst set of image data to the second set of image data includes:comparing the first volume to the second volume, and determining, bycomparing the first volume to the second volume, the environmentaldifference using a volume difference between the first volume and thesecond volume.
 7. The method of claim 1, wherein the second set ofenvironmental characteristics correspond to predetermined environmentalcharacteristics within an approved operating environment.
 8. (canceled)9. (canceled)
 10. (canceled)
 11. (canceled)
 12. (canceled)
 13. A systemfor environmental-based location monitoring, the system comprising: aprocessor; and a computer readable storage medium having programinstructions embodied therewith, the program instructions executable bythe processor to cause the system to: collect, by a sensorelectronically connected to a computer and in response to a conditionfor the system, a first set of image data that corresponds to a firstset of environmental characteristics existing within a bounded areaencompassing a hardware element of the system the condition includesreceiving a computer-based command indicating a set of operations forthe system; determine, by a processor analyzing the first set of imagedata, by utilizing image recognition techniques, a first locationcorresponding to a geographic position of the hardware element relativeto the first set of environmental characteristics, and determine, by theprocessor analyzing a second set of image data stored in a database ofthe computer, by utilizing image recognition techniques, the second setof image data corresponding to a second set of environmentalcharacteristics, a second location corresponding to an approvedgeographic position of the hardware element relative to the second setof environmental characteristics; compare, by the processor, the firstlocation to the second location, and determine, by the processorcomparing the first location to the second location, an environmentaldifference using a location difference between the first location andthe second location; determine, by the processor, that the environmentaldifference does not satisfy a threshold; and execute a reaction sequencein the computer, in response to determining that the environmentaldifference does not satisfy the threshold, wherein the reaction sequenceincludes overwriting a set of data stored in the computer.
 14. Thesystem of claim 13, wherein the program instructions executable by theprocessor further cause the system to: compare the first set of imagedata to the second set of image data, and determine, by comparing thefirst and second set of image data, the environmental difference furtherbased on differences between the first set of environmentalcharacteristics and the second set of environmental characteristics. 15.The system of claim 13, wherein the program instructions executable bythe processor further cause the system to: collect, in response to thecondition, a first set of environmental data that corresponds to a thirdset of environmental characteristics existing within the bounded area;and compare the first set of environmental data to a second set ofenvironmental data, the second set of environmental data correspondingto a fourth set of environmental characteristics, and further determinethe environmental difference by comparing the first set of environmentaldata and second set of environmental data.
 16. The system of claim 15,wherein the third set of environmental characteristics includestemperature data, altitude data, and humidity data.
 17. The system ofclaim 13, wherein the program instructions executable by the processorfurther cause the system to: determine, by analyzing the first set ofimage data, a first volume corresponding to a volumetric dimension ofthe bounded area of the first set of environmental characteristics;determine, by analyzing the second set of image data, a second volume ofthe bounded area of the second set of environmental characteristics; andwherein the program instructions being executable to cause the system tocompare the first set of image data to the second set of image dataincludes being executable to cause the system to: compare the firstvolume to the second volume, and determine, by comparing the firstvolume to the second volume, the environmental difference using a volumedifference between the first volume and the second volume.
 18. Thesystem of claim 13, wherein the second set of environmentalcharacteristics correspond to predetermined environmentalcharacteristics within an approved operating environment.
 19. A computerprogram product for environmental-based location monitoring, thecomputer program product comprising a computer readable storage mediumhaving program instructions embodied therewith, wherein the computerreadable storage medium is not a transitory signal per se, the programinstructions executable by a computer to cause the computer to perform acomputer-implemented method comprising: collecting, by a sensorelectronically connected to a computer and in response to a conditionfor the computer, a first set of image data that corresponds to a firstset of environmental characteristics existing within a bounded areaencompassing a hardware element of the computer, the condition includesreceiving a computer-based command indicating a set of operations forthe computer; determining, by a processor analyzing the first set ofimage data, by utilizing image recognition techniques, a first locationcorresponding to a geographic position of the hardware element relativeto the first set of environmental characteristics, and determining, bythe processor analyzing a second set of image data stored in a databaseof the computer, by utilizing image recognition techniques, the secondset of image data corresponding to a second set of environmentalcharacteristics, a second location corresponding to an approvedgeographic position of the hardware element relative to the second setof environmental characteristics; comparing, by the processor, the firstlocation to the second location, and determining, by the processorcomparing the first location to the second location, an environmentaldifference using a location difference between the first location andthe second location; determining, by the processor, that theenvironmental difference does not satisfy a threshold; and executing, bythe processor, a reaction sequence in the computer, in response todetermining that the environmental difference does not satisfy thethreshold, wherein the reaction sequence includes overwriting a set ofdata stored in the computer.
 20. The computer program product of claim19, wherein the program instructions, executable by the computer, causethe computer to perform the method further comprising: comparing thefirst set of image data to the second set of image data, anddetermining, by comparing the first and second set of image data, theenvironmental difference further based on differences between the firstset of environmental characteristics and the second set of environmentalcharacteristics.